#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define NUMBER	500000
#define FORZ(i, max)	for(i = 0; i < max; i++)
#define SUM(n) ((n)*((n)+1ll)/2ll)
#define MAXN 1000000

typedef long long int ll;
typedef unsigned long long int ull;

int cmp(const void *a, const void *b) {
	if(*(ull*)a<*(ull*)b) return -1;
	if(*(ull*)a>*(ull*)b) return 1;
	return 0;
}

int main() {
	int n,i; ull k,*t,r;
	scanf("%d %llu",&n,&k);
	t=malloc(sizeof(ull)*n);
	FORZ(i,n)scanf("%llu",t+i);
	qsort(t,n,sizeof(ull),cmp);
//	FORZ(i,n)printf("[%d]%llu\n",i,t[i]);
	for(i=0,r=k;i<n&&t[i]<=r; i++) {
		if(t[i]==r)r+=k;
	}
	printf("%llu\n",r);
	return 0;
}
